home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / c / library / dos / diverses / asm4qc / asm4qc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-11-30  |  4.0 KB  |  126 lines

  1. /***********************************************************************
  2.  *  ASM4QC, Assembly routines for QuickC                               *
  3.  *  Version 2.02, Copyright (c) 1989-90 SoftCircuits (tm)              *
  4.  *                                                                     *
  5.  *  ASM4QC.H, ASM4QC header file                                       *
  6.  *  C source code                                                      *
  7.  ***********************************************************************/
  8.  
  9. struct vconfig {                 /* structure for getvconfig() */
  10.     unsigned int vsegment;      /* video segment */
  11.     unsigned int vmode;         /* video mode */
  12.     unsigned int vpage;         /* video page */
  13.     unsigned int textrows;      /* number of text rows */
  14.     unsigned int textcols;      /* number of text columns */
  15.     unsigned int snowcheck;     /* snow checking status */
  16.     int vcombo;                 /* video display combination code */
  17. };
  18.  
  19. /* function declarations for data4qc (global data for ASM4QC library) */
  20. int  _color(int);
  21. void getvconfig(struct vconfig *);
  22. int  initvideo(void);
  23. int  setbackcolor(int);
  24. int  setdefvenv(void);
  25. int  setforecolor(int);
  26. void setsnowcheck(int);
  27. void setvoff(int,int);
  28. int  setvsegment(int);
  29.  
  30. /* function declarations for stdvideo (standard video routines) */
  31. void biosprintsa(char *);
  32. void cls(void);
  33. int  curscol(void);
  34. int  cursrow(void);
  35. void hidecurs(void);
  36. void repch(char,int);
  37. void restorecurs(void);
  38. void scroll(int,int,int,int,int);
  39. void setborder(void);
  40. void setcurs(int,int);
  41. int  setvmode(int);
  42. int  vmode(void);
  43. int  voffcol(void);
  44. int  voffrow(void);
  45. int  vpage(void);
  46.  
  47. /* function declarations for extvideo (extended video routines) */
  48. void frame(int,int,int,int);
  49. void hscroll(int,int,int,int,int);
  50. void printa(int,int);
  51. void prints(char *);
  52. void printsa(char *);
  53. int  reada(int,int);
  54. char readc(int,int);
  55. void setframetype(char,char,char,char,char,char);
  56.  
  57. /* function declarations for window (windowing routines) */
  58. void restorewin(int *,int,int,int,int);
  59. void savewin(int *,int,int,int,int);
  60.  
  61. /* function declarations for kbdio (keyboard input/output) */
  62. void beep(int,int);
  63. int  edstring(char *,int);
  64. int  getkey(void);
  65. int  kbded(char *,int);
  66. void kbdflush(void);
  67. void pause(int);
  68.  
  69. /* macros */
  70. #define  foreback(f,b) ((f & 0x0F) | ((f & 0x10) << 3) | ((b & 0x07) << 4))
  71. #define  color(f,b) _color(foreback(f,b))
  72. #define  getasciicode() (getkey() & 0x00FF)
  73. #define  getscancode()  (getkey() >> 8)
  74. #define  setdoubleframe() \
  75.     setframetype('\xCD','\xBA','\xC9','\xBB','\xC8','\xBC')
  76. #define  setsingleframe() \
  77.     setframetype('\xC4','\xB3','\xDA','\xBF','\xC0','\xD9')
  78.  
  79. /* constants */
  80. #define  TRUE        1
  81. #define  FALSE       0
  82. #define  ON          1
  83. #define  OFF         0
  84. #define  MONO_SEG    0xB000
  85. #define  COLOR_SEG   0xB800
  86.  
  87. /* attribute constants */
  88. #define  BLACK       0x00
  89. #define  BLUE        0x01
  90. #define  GREEN       0x02
  91. #define  CYAN        0x03
  92. #define  RED         0x04
  93. #define  MAGENTA     0x05
  94. #define  YELLOW      0x06
  95. #define  WHITE       0x07
  96. #define  BOLD        0x08
  97. #define  BLINKING    0x10
  98.  
  99. /* key constants as returned by getkey */
  100. #define  ESCAPE_KEY     0x011B
  101. #define  BACKSPACE_KEY  0x0E08
  102. #define  TAB_KEY        0x0F09
  103. #define  SHIFTTAB_KEY   0x0F00
  104. #define  RETURN_KEY     0x1C0D
  105. #define  F1_KEY         0x3B00
  106. #define  F2_KEY         0x3C00
  107. #define  F3_KEY         0x3D00
  108. #define  F4_KEY         0x3E00
  109. #define  F5_KEY         0x3F00
  110. #define  F6_KEY         0x4000
  111. #define  F7_KEY         0x4100
  112. #define  F8_KEY         0x4200
  113. #define  F9_KEY         0x4300
  114. #define  F10_KEY        0x4400
  115. #define  HOME_KEY       0x4700
  116. #define  UP_KEY         0x4800
  117. #define  PGUP_KEY       0x4900
  118. #define  LEFT_KEY       0x4B00
  119. #define  CENTER_KEY     0x4C00
  120. #define  RIGHT_KEY      0x4D00
  121. #define  END_KEY        0x4F00
  122. #define  DOWN_KEY       0x5000
  123. #define  PGDN_KEY       0x5100
  124. #define  INSERT_KEY     0x5200
  125. #define  DELETE_KEY     0x5300
  126.